History-based Approach for Detecting Modularity Defects in Aspect Oriented Software
نویسندگان
چکیده
The evolution of Aspect oriented (AO) software would degrade and modify its structure and its modularity. In this scenario, one of the main problems is to evaluate the modularity of the system, is the evolved AO software still has a good modularity or not? Unfortunately, this research area is not explored yet. This paper presents a history-based approach that detects modularity defects in evolved AO software. It is a two-step automated approach: 1) in the first step, it applies data mining over an AO software repository in order to detect logical couplings among its entities. It analyses fine-grained logical couplings between AO software entities as indicated by common changes. 2) These last are then analysed to detect modularity defects in the AO software system. The approach focuses on the evaluation of an AO system’s modularity and points out potential enhancements to get a more stable one. We provide a prototype implementation to evaluate our approach in a case study, where modularity defects are detected in 22 releases of three well-known AspectJ systems: Contract4J, Health-Watcher and Mobile-Media. The results show that the approach is able to detect logical couplings among aspect entities, as well as modularity defects that are not easily (or not) detectable using static source code analysis.
منابع مشابه
Towards Aspect-Oriented State Machines
UML state machines provide an operational view of the behavior of software systems. However, properties of the execution history of state machines cannot be expressed modularly. This often leads to model elements addressing the same concern scattered all over the machine. We present an initial approach to aspect-oriented state machines, which show considerably better modularity in designs of hi...
متن کاملAn Early Approach to Identify and Classify Crosscutting Concerns in Aspect-Oriented Requirement Engineering (AORE) for Better Software Modularity
n this era of science and technology, where dependability on computer based systems is increasing, the size of software code is also increasing due to diverse nature of user requirements. Large software systems must have understandable code and impact of change should also be known otherwise it would be quite reasonable to say that software is very complex. The software complexity can be minimi...
متن کاملA cohesion measure for C in the context of an AOP paradigm
Cohesion measures the relative functional strength of a module and impacts the internal attribute of a function such as modularity. Modularity has become an accepted approach in every engineering discipline. The concept of modular design has considerably reduced the complexity of software design. It represents the strength of bond between the internal elements of the modules. To achieve effecti...
متن کاملAspectLISA: An Aspect-oriented Compiler Construction System Based on Attribute Grammars
The use of object-oriented techniques and concepts, like encapsulation and inheritance, greatly improves language specifications towards better modularity, reusability and extensibility. Additional improvements can be achieved with aspect-oriented techniques since semantic aspects also crosscut many language constructs. Indeed, aspect-oriented constructs have been already added to some language...
متن کاملDesigning Modularity Architecture for Multithread Programming
Multithreaded Object-Oriented Programming in concurrency environment using object-oriented technology is a complex activity. Programmers need to be aware of issues unrelated to their domain of problem, and are often unprepared for the challenges of the concurrent object-oriented programming brings. The interaction of their components becomes more complex, and makes it difficult to validate the ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Informatica (Slovenia)
دوره 39 شماره
صفحات -
تاریخ انتشار 2015